import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCDemo2 {
    public static void main(String[] args) throws SQLException {
        //1. 构造数据库连接源
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/test2?characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("123456");
        //2. 与数据库建立连接
        Connection connection = dataSource.getConnection();
        //3. 编写sql
        String sql = "select * from student";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        //4. 执行sql 此处返回的是一个结果集类
        ResultSet resultSet = preparedStatement.executeQuery();
        //此处的next为迭代器  把resultSet看成一个指针, 指向集合的第一个元素前面的一个
        //迭代器每次调用next()方法都会将指针指向下一个元素, 若移动完的位置不为null 返回true 为null 返回false
        while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            System.out.println(id + "   " + name);
        }

        //5. 关闭连接等资源
        preparedStatement.close();
        connection.close();


    }

}
